1. Field of the Invention
The present invention relates to a robot apparatus such as a manipulator grasping an object or a legged mobile robot having a multilink structure, which includes a plurality of links and joints serving link movable sections, and a method of controlling a robot apparatus. More particularly, the present invention relates to a robot apparatus in which links are controlled by combination of position control and force control, and a method of controlling a robot apparatus.
To be more specific, the present invention relates to a robot apparatus that switches position control and force control when colliding against an object, and a method of controlling a robot apparatus. More particularly, the present invention relates to a robot apparatus and a method of controlling the same.
2. Description of the Related Art
Researches on and developments of multi-joint robots such as manipulators grasping an object and legged mobile robots have progressed in recent years. These robot apparatuses are widely used for the purpose of automation of manufacturing works in factories, acting for difficult works in dangerous scenes such as nuclear power plants, or interaction with people aimed at nursing care or entertainment.
As a method of controlling a robot having a multi-link structure, which includes a plurality of links and joints serving as link movable sections, for example, position control and force control are exemplified. The position control is a control method that sets a reference position such as the tip of the hand and the finger tip of the arm to an arbitrary position on a predetermined position coordinate. The force control is a control method which directly receives the target value of a force to be applied to an object of work and specifies the force corresponding to the target value. In addition, there is known compliance control which alleviates an external force to be applied at a contact position of the tip of the hand or the finger tip and the object by indirectly specifying virtual impedance.
Most of the known robot apparatuses are driven by position control since position control facilitates the ease of control or the design of system configuration. The position control is basically aimed at keeping the position and accordingly it is commonly called “hard control”. The position control is not suitable for flexibly responding an external force and precisely controlling the velocity and acceleration. Since a robot apparatus carries out a task while physically interacting with various external worlds, for example, grasps an object, the position control is not suitable for the robot apparatus by nature. In the position control-type robot apparatus, it is difficult to perform a work to model after an object or fit the object.
Meanwhile, if the robot apparatus is allowed to have the same force control function as that of the arm of the human being, the application range of the robot apparatus is dramatically increased. Ideally, it is desirable that the robot apparatus is driven by a force control system, although the control rule and the system configuration are complicated. However, if the force control is used, the driving speed is low, as compared with the position control, and accordingly the work time is extended.
As the known researches on the force control, there is known a method that performs hybrid position/force control for each axis in such a manner that position control is performed in an X-axis direction and force control is performed in a Y-axis direction (for example, see M. H. Raibert, John J. Craig: Hybrid Position/Force Control of Manipulators, Journal of Dynamic Systems, Measurement, and Control 102, ASME, pp. 1026-1033, 1981). In addition, there are also known a method that expands the hybrid position/force control with the work coordinate system as reference (for example, see O. Khatib: A Unified Approach for Motion and Force Control of Robot Manipulators: The Operational Space Formulation, IEEE Journal of Robotics and Automation, Vol. RA-3, No. 101987), and mechanical impedance control in which a virtual spring is provided at the tip of the finger (for example, see N. Hogan: An Approach to Manipulation: Part 1 to 3, Journal of Dynamic Systems, Measurement, and Control 107, ASME, 1985).
However, the force control method may encounter problems in that: it is assumed the geometric position of a contact surface is known; an unreasonable force is applied due to an error when position control is performed at the contact surface; a control characteristic extremely deviates from its design specification due to a variation in elasticity or frictional coefficient of a contact surface defining a restricted space; and a control system becomes unstable (for example, see Japanese Patent No. 3124519, Paragraphs 0002-0003).
When position control or force control is designated by a selected matrix with respect to each component of the coordinate system, switching between position control and force control is discontinuous, and accordingly a shock may occur during switching (for example, see Japanese Patent No. 2770982, page 2, right column, lines 34-44).
In particular, when the tip of the hand or the finger tip collides against an object, it is necessary to switch its driving method from position control to force control. For example, there is known a control method for collision process which indicatively discusses stability of a grasp system by a Lyapunov's method with a manipulator as a mass-spring-damper system (for example, see Shoji, Inaba, Fukuda, and Hosogai: Stable Control for Robot Manipulator facing collision, Japan Mechanical Association Symposium (Chapter C), Vol. 56-527, pp. 1847-1853, 1990). In this case, however, similarly to the above-described mechanical impedance control (N. Hogan: An Approach to Manipulation: Part 1 to 3, Journal of Dynamic Systems, Measurement, and Control 107, ASME, 1985), an unreasonable force may be applied to the contact surface according to a geometric error. There is also known a method in which in which an optimum approaching speed prior to the contact is preliminarily obtained so as not to cause a large impact force, and position control is switched over to force control at the time point when a detected force value succeeding to the contact exceeds a threshold value (for example, see Kitagaki and Uchiyama: Optimum Approaching Speed for Manipulator in Ambient Condition (Japan Robot Association Journal Vol. 8-4, pp. 413-420, 1990)). In this case, however, a decrease in the speed may cause deterioration of work efficiency. There is also known a method that performs force control including robust position control (for example, see Shimura and Hori: Robust Force Control for Robot Manipulator and Control for Collision Process (Japan Robot Association Journal vol. 11-2, pp. 235-245, 1993)). In this case, high control performance and high practical utility for a wide range of situations can be achieved. However, when the nominal stiffness used in the control system is smaller than the stiffness in the actual environment (that is, an actually hard object is assumed as a soft object), an excessive force may occur. There is also known a method in which a control mode having a large damping characteristic is once inserted at the time of switching (for example, see O. Khatib, J. Burdic: Motion and Force Control of Robot Manipulators, IEEE Conference on Robotics and Automation, pp. 1381-1386, 1986). In this case, however, the purpose of the operation is achieved only in a limited situation, and practical utility is lacking.
There is also known a method in which a virtual spring constant is increased/decreased with respect to each component of a tool coordinate system to set a degree of coordination between a position and a force, and when the spring constant is an intermediate, an arm moves up to a point at which a force corresponding to a positional deviation is set in equilibrium and undergoes a motion as if a manipulator is supported by a spring (for example, see Japanese Patent No. 2770982, page 3, right column, line 21 to page 4, right column, line 104). In this case, however, a method of setting the virtual spring constant is not clear. In addition, stability is secured only by a low pass filter with respect to a force sensor value and a force command, and accordingly responsiveness is expected to be deteriorated.
There is also known a robot controller which moves a workpiece to approach an estimated contact surface in a free space under position control, performs a groping motion from the estimated contact surface to an actual contact surface under position control, and at a point of time at which a detected force value exceeds a threshold value, switches over to a contact motion under force control (for example, see Japanese Patent No. 3124519, paragraphs 0009-0015). This control method is a robust control system which takes stability into consideration, and it can achieve smooth control mode switching and high practical utility. In this case, however, since sliding mode control is used, a control system or a design method is complicated.
There is also known a kinematically stable hybrid control system that controls the displacement of an end effector of a robot manipulator and the force exerted thereby (for example, see JP-A-5-143161). In this case, however, since it is assumed the geometric position of a contact surface is known, when an error occurs, an excessive force may be generated, and accordingly a control system may become unstable.
There is also known a force control device in which a press section driven by a motor is continuously switched over from position control to torque control. Under the position control, an operation is made at a speed of a speed command generator by a limiter, and when it is close to a force command from a force detector, the speed command is automatically switched over to a force command from a force command generator (for example, see JP-A-2002-177352). In this case, switching is made at a prescribed switching position, and it is assumed the geometric position of a contact surface is known. Accordingly, when an error occurs, an excessive force may be generated, or a control system may become unstable.